package com.example.ibsp_demo.mapper.content;

import com.example.ibsp_demo.pojo.entity.content.Comment; // 替换为实际包路径
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

@Mapper
public interface CommentMapper {

    // 根据主键查询
    Comment selectByCommentId(Integer commentId);

    // 查询某内容的所有评论（支持分页，包含一级评论）
    List<Comment> selectByCtid(Integer ctid);

    // 查询某评论的子评论（嵌套评论）
    List<Comment> selectByParentId(Integer parentId);

    // 查询用户发布的所有评论
    List<Comment> selectByCommenterId(Integer commenterId);

    // 插入评论
    int insert(Comment comment);

    // 更新评论内容
    int updateContent(Integer commentId, String newContent);

    // 根据主键删除评论（需先删除其子评论）
    int deleteByCommentId(Integer commentId);

    // 根据内容ID删除所有关联评论
    int deleteByCtid(Integer ctid);

    //更新评论点赞数
    int updateLikeCount(@Param("commentId") Integer commentId, @Param("delta") int delta);

}